// #include <stdio.h>
// #include <stdlib.h>
// 僵尸进程
//  int main()
//  {
//      pid_t id = fork();
//      if(id < 0){
//          perror("fork");
//          return 1;
//      }
//      else if(id > 0){ //parent
//          printf("parent[%d] is sleeping...\n", getpid());
//          sleep(30);
//      }
//      else{
//          printf("child[%d] is begin Z...\n", getpid());
//          sleep(5);
//          exit(EXIT_SUCCESS);
//      }
//      return 0;
//  }
// 孤儿进程
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main()
{
    pid_t id = fork();
    if (id < 0)
    {
        perror("fork");
        return 1;
    }
    else if (id == 0)
    { // child
        printf("I am child, pid : %d\n", getpid());
        sleep(1000);
    }
    else
    { // parent
        printf("I am parent, pid: %d\n", getpid());
        sleep(1000);
        exit(0);//父进程退出时，子进程还在sleep
    }
    return 0;
}
